package com.jiantong.user.service;

import com.jiantong.user.model.AppUserRole;
import io.terminus.common.model.Paging;
import io.terminus.common.model.Response;

import java.util.List;

/**
 * Created by mz on 4/7/17.
 *
 */
public interface AppUserRoleReadService {

    /**
     * 根据id查询
     * @param id 主键id
     * @return AppUserRole
     */
    Response<AppUserRole> findAppUserRoleById(Long id);


    Response<AppUserRole> findByUserId(Long userId);

    /**
     * 根据userId查询
     * @param userId 用户id
     * @return AppUserRoles
     */
    Response<List<AppUserRole>> findAppUserRolesByUserId(Long userId);

    /**
     * 分页查询
     * @param pageNo 页码
     * @param pageSize 每页条数
     * @param userId 用户id
     * @param statuses 状态集合
     * @return Paging<AppUserRole>
     */
    Response<Paging<AppUserRole>> pagingAppUserRoles(Integer pageNo , Integer pageSize , Long userId ,List<Integer> statuses);


    /**
     * 分页查询 只查询符合指派案件办理的人员, 用来找到那些可以办案的人员,把案件指派给他们 具体查询条件
     * @param pageNo 页码
     * @param pageSize 每页条数
     * @param roles 参与查询的角色类型
     * @return Paging<AppUserRole>
     */
    Response<Paging<AppUserRole>> pagingLawAppUserRoles(Integer pageNo , Integer pageSize, List<Integer> roles);
}
